namespace ext.form
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// Provides a time input field with a time dropdown and automatic time validation. Example usage:
	/// 
	/// new Ext.form.TimeField({
	/// minValue: &apos;9:00 AM&apos;,
	/// maxValue: &apos;6:00 PM&apos;,
	/// increment: 30
	/// });
	/// </summary>
	/// <htmlSummary>
	/// Provides a time input field with a time dropdown and automatic time validation. Example usage:
	/// &lt;pre&gt;&lt;code&gt;
	/// new Ext.form.TimeField({
	/// minValue: &apos;9:00 AM&apos;,
	/// maxValue: &apos;6:00 PM&apos;,
	/// increment: 30
	/// });
	/// &lt;/code&gt;&lt;/pre&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\form\TimeField.js</definedin>
	[ScriptName("TimeField")]
	[ScriptNamespace("Ext.form")]
	[Imported()]
	public partial class TimeField : ext.form.ComboBox
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config"></param>
		public TimeField(ext.form.TimeField_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public TimeField()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// The minimum allowed time. Can be either a Javascript date object with a valid time value or a string
		/// time in a valid format -- see {@link #format} and {@link #altFormats} (defaults to undefined).
		/// </summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		[ScriptName("minValue")]
		public ext.auto.System_DateTime_Or_System_String MinValue;
		
		/// <summary>
		/// The maximum allowed time. Can be either a Javascript date object with a valid time value or a string
		/// time in a valid format -- see {@link #format} and {@link #altFormats} (defaults to undefined).
		/// </summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		[ScriptName("maxValue")]
		public ext.auto.System_DateTime_Or_System_String MaxValue;
		
		/// <summary>
		/// The error text to display when the date in the cell is before minValue (defaults to
		/// &apos;The time in this field must be equal to or after {0}&apos;).
		/// </summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		[ScriptName("minText")]
		public string MinText;
		
		/// <summary>
		/// The error text to display when the time is after maxValue (defaults to
		/// &apos;The time in this field must be equal to or before {0}&apos;).
		/// </summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		[ScriptName("maxText")]
		public string MaxText;
		
		/// <summary>
		/// The error text to display when the time in the field is invalid (defaults to
		/// &apos;{value} is not a valid time&apos;).
		/// </summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		[ScriptName("invalidText")]
		public string InvalidText;
		
		/// <summary>
		/// The default time format string which can be overriden for localization support. The format must be
		/// valid according to {@link Date#parseDate} (defaults to &apos;g:i A&apos;, e.g., &apos;3:15 PM&apos;). For 24-hour time
		/// format try &apos;H:i&apos; instead.
		/// </summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		[ScriptName("format")]
		public string Format;
		
		/// <summary>
		/// Multiple date formats separated by &quot;|&quot; to try when parsing a user input value and it doesn&apos;t match the defined
		/// format (defaults to &apos;g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A&apos;).
		/// </summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		[ScriptName("altFormats")]
		public string AltFormats;
		
		/// <summary>The number of minutes between each time value in the list (defaults to 15).</summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		[ScriptName("increment")]
		public System.Number Increment;
		#endregion
		
		#region Methods
		/// <summary>Replaces any existing {@link #minValue} with the new time and refreshes the store.</summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		/// <param name="value">The minimum time that can be selected</param>
		[ScriptName("setMinValue")]
		public void SetMinValue(System.DateTime value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Replaces any existing {@link #minValue} with the new time and refreshes the store.</summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		/// <param name="value">The minimum time that can be selected</param>
		[ScriptName("setMinValue")]
		public void SetMinValue(string value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Replaces any existing {@link #maxValue} with the new time and refreshes the store.</summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		/// <param name="value">The maximum time that can be selected</param>
		[ScriptName("setMaxValue")]
		public void SetMaxValue(System.DateTime value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Replaces any existing {@link #maxValue} with the new time and refreshes the store.</summary>
		/// <definedin>src\widgets\form\TimeField.js</definedin>
		/// <param name="value">The maximum time that can be selected</param>
		[ScriptName("setMaxValue")]
		public void SetMaxValue(string value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
